package com.threadpool;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 可缓存线程池，如果线程池长度超过处理需要，可灵活回收空闲线程，若无可回收，则新建线程。
 * @author:chenhs E-mail:hson08_chen@163.com
 * Created on 2017年9月7日 下午5:04:06
 */
public class TestCachedThreadPool extends Thread {

	public static void main(String[] args) {
		ExecutorService pool = Executors.newCachedThreadPool();
		
		//创建实现了Runnable接口对象，Thread对象当然也实现了Runnable接口
		Thread t1 = new MyThread();
		Thread t2 = new MyThread();
		Thread t3 = new MyThread();
		Thread t4 = new MyThread();
		Thread t5 = new MyThread();
		
		//将线程放入池中进行执行
		pool.execute(t1);
		pool.execute(t2);
		pool.execute(t3);
		pool.execute(t4);
		pool.execute(t5);
		
		//关闭线程池
		pool.shutdown();
	}

}
